K-INSTALL for DOS 1.3 Copyright (c) 1994-95 by Rob McDonell, ARK ANGLES All Rights Reserved INSTALLATION AND OPERATION INFORMATION INTRODUCTION K-INSTALL is one of the most powerful and flexible installation programs around, in a very robust and compact package. It comes in both DOS and Windows versions. Both versions feature a wide set of capabilities such as: * checking DOS version, * deleting files prior to installation, * installing from and to any drive and directory * installing within the same directory * installing files to several different directories, * optionally replacing pre-existing files, * prompting for additional disks as necessary, * asking whether to install optional components, * unpacking LZH, ZIP, ARJ and self extracting archives, * expanding compressed files, * updating AUTOEXEC.BAT and CONFIG.SYS, * creating or modifying a file with registration data, * creating or modifying INI files (Windows version only), * adding a group and items to Program Manager (Windows version only), * running external programs before and/or after installation, * providing messages and a status bar as installation proceeds, * giving additional instructions at the conclusion of the program, * running the main program from the installation program, * uninstalling the program again, * modifying display colours, layout and graphic, and much more. And it's all controlled from a single settings file. SYSTEM REQUIREMENTS K-INSTALL for DOS will run on any IBM-PC or compatible computer with 256KB memory. DOS version 3.0 or higher is recommended. INSTALLATION K-INSTALL installs itself! Run INSTALL.EXE to unpack and copy the whole package. You get the INSTALL program itself, documentation, and samples to show the full power of this versatile software. PROGRAM DESCRIPTION K-INSTALL is a flexible and powerful program. There are many options to tailor it to run just as you need it. However you can also get the basics up and running very quickly. The INSTALL or SETUP executable file can be renamed if required. THE SETTINGS FILE K-INSTALL uses a settings file to control it's many functions. File names, directories, and many other options are defined by special keywords. Suitable default values are used for any options not explicitly defined, ensuring that the settings file can be extremely simple. CREATION AND USE OF DIRECTORIES K-INSTALL can be run from any drive or directory. When running on DOS version 3.0 or later it will automatically identify it's own location and look for all other installation files in the same place. On DOS versions earlier than 3.0 it will assume it is running from A:\. For multi disk installs the user can change the "from" drive and/or directory for each new disk, allowing faster installation using two drives alternately, or installation from multiple directories on a hard disk. K-INSTALL automatically asks for and creates a main directory in which to install the program, but any other directories can also be created and/or accessed. This includes subdirectories of the main directory, plus the boot directory, the DOS directory, the Windows directory, and the Windows SYSTEM directory. K-INSTALL can also be set to always overwrite existing files, or only overwrite older files, or never overwrite existing files. The default directory is specified with the DIR keyword in the settings file. The other directory options are controlled through INSTALL keywords. K-INSTALL can install a program within the same directory, automatically identifying files that do not have to be copied, while still unpacking archives and expanding compressed files. ARCHIVES AND COMPRESSED FILES K-INSTALL automatically unpacks any files with extensions of .LZH, .ZIP, .ARJ, and .EXE if the files have the unpack identifier in the file name. The unarchiving programs used are LHA.EXE, PKUNZIP.EXE and ARJ.EXE respectively. The options parameters passed to these unarchiving programs when they are run may be altered by the LHA, ZIP and ARJ keywords. The unpack identifier is normally a single underline, which means that files such as _ABC.ZIP or MY_FILE.LHA or ARCHIVE_.EXE will be unpacked automatically. The unpack identifier can be changed in the settings file with the UNPAK keyword. If you do not wish any files to be unpacked then it is a good idea to change the unpack identifier to characters that are invalid in file names, such as "<" or ">" or ":" etc. K-INSTALL also automatically expands COMPRESSed files where the last character of the file extension is a single underline. This is not changed by the UNPAK keyword. If you wish to unpack other types of archives (such as .ARC, .PAK or .ZOO files), or you want to use a different unarchiving program for .LHA, .ZIP and .ARJ files (such as UNZIP.EXE instead of PKUNZIP.EXE), then a file extension and associated unarchiving program can be defined with the ARCHIVE keyword. Appropriate versions of the unarchiving program(s) must be accessible to K-INSTALL to enable it to automatically unpack any archives that are not self-extracting. Also, in the DOS version of K-INSTALL (but not the Windows version), the program EXPAND.EXE must be accessible to enable automatic expansion of compressed files. This means the decompression program(s) must be either somewhere in the user's DOS Path (but this cannot usually be relied upon), or on the installation disk itself. For multi disk installs the decompression program(s) should actually be installed from the first disk to the main program directory, from where they will be available to unpack archives on subsequent disks, otherwise the decompression program(s) would need to exist on every disk that contained an archive or compressed file. Note that multi-volume archives and subdirectories within archives are not explicitly supported. Use a separate archive for each group of files and for each different subdirectory into which the files are to be unpacked. USER DATA At the commencement of the installation process K-INSTALL always asks the user which directory to install the program to. The default value for this is specified through the DIR keyword. The user can also specify whether to install certain optional components of the package. This is controlled by INSTALL keywords. Most importantly, K-INSTALL can be set up to request other information from the user such as serial number, name, company, address, even configuration preferences. The information can be validated for completeness and correctness, which can be particularly useful to ensure that the user has a genuinely registered package and knows the required format of data such as the program serial number. The entry of user information is specified through INPUT keywords. The actual data entered by the user can be used in the AUTOEXEC.BAT file through the AUTO and SHELL keywords, in the CONFIG.SYS file through the CONF keyword, in the registration data file through the REG keyword, in INI files through the INI keyword, and in the Windows Program Manager descriptions through the GROUP and ITEM keywords. UPDATING SYSTEM CONFIGURATION FILES Many options are available to modify the configuration of the user's computer. This includes updating the DOS PATH in AUTOEXEC.BAT, and the FILES and BUFFERS value in CONFIG.SYS. Any number of other lines may also be added to both of these files. These options are enabled through the PATH, AUTO, SHELL, CONF, FILES and BUFFERS keywords. In the Windows version, additional options are available to create or modify the Windows WIN.INI or private INI files. This is done through the IFILE, ISECT and INI keywords. Program Manager can also be updated with the GROUP and ITEM keywords. As mentioned, all these functions can include user entered data as defined in INPUT keywords. For safety, backup copies of AUTOEXEC.BAT and CONFIG.SYS are taken prior to modification, and the original versions are automatically restored if the modification fails for any reason. CREATING A REGISTRATION DATA FILE K-INSTALL can create or modify a file with any combination of predefined and user entered data. This is much more flexible than standard INI file creation, and allows complete control over the format of the file. It is possible to create a registration data file which validates that the program is a genuine registered version, or a configuration file which defines the various charateristics of how the program will run, or even a batch file to run the program with user-defined parameters. The file may be an INI-type text file, or a machine readable data file using either C format (null terminated strings) or Pascal format (length byte folled by string). The C or Pascal formats allow data to be written directly into EXE files or DDLs or the like. The creation of this file is done using the RFILE and REG keywords in conjunction with INPUT keywords. UNINSTALLATION K-INSTALL can keep a log of all new files written and all directories created. The uninstall function can be run immediately or at any time in the future from the same install program, deleting any files that are still in the same location, and then removing any directories that are now empty again. Confirmation is requested from the user before deleting files from the Windows System directory. Uninstall will not (in this version) undo changes to AUTOEXEC.BAT, CONFIG.SYS, INI files and Program Manager. Users appreciate an uninstall facility with their software, especially for Windows applications, so it should be highlighted as a major feature of your programs. It is a good idea to add an Uninstall icon to Program Manager which runs K-INSTALL with a bare minimum settings file. In particular the settings file should omit the RUN and CATALOG keywords so that users see only the Uninstall and Exit buttons. ADDITIONAL INFORMATION The appearance of K-INSTALL can be highly customised in terms of screen layout, colour and text. This is done through the TITLE, MSG, COLS and PICTURE keywords in the settings file. The CATALOG keyword can also be used to link a separate catalogue or other information file into the main install screen. While K-INSTALL is installing the program it provides information about each file copied or unpacked, and can also display a progress indicator showing how much has been completed. The progress indicator is controlled through the file sizes defined with INSTALL keywords in the settings file, and requires there to be at least one INSTALL record with a positive size value to operate. The progress indicator is as accurate as the sizes entered on the INSTALL record(s). When K-INSTALL terminates it provides final instructions on the status of the program, how to run it, and where to get more information. This is customised through the RUN and WIN and DOC keywords in the settings file. GETTING STARTED FAST K-INSTALL has many features, but you don't have to know about them all to use the program effectively - a very simple settings file will get you started. K-INSTALL uses sensible defaults for anything not specified, while still utilising many of its powerful functions. In fact, K-INSTALL can run without a settings file at all! However, to give the program just that little customisation that you want, follow these steps: 1. Copy INSTALL.EXE into a directory that contains your program. 2. Use a basic text editor (such as EDIT in DOS, or NOTEPAD in Windows) to create a new file. 3. Enter three lines into the file, using the TITLE, DIR and INSTALL keywords to describe the name of the program, the default directory, and the total space it requires in KBs, for example: TITLE My Favourite Program DIR C:\MYPROG INSTALL *.*,,320 4. Save the file as INSTALL.SET. 5. Now run INSTALL.EXE in your directory. You already have a complete working installation program, attractively presented, that will copy everything from your directory to wherever the user specifies, and includes checking the available space on the destination drive, giving a full status display as the install proceeds, automatically unpacking archives that contain an underline character, displaying information to the user at the end of the program, and allowing the user to uninstall either immediately or any time in the future. 6. You can now go back and continue to customise INSTALL.SET as much as you like for additional options such as multi disk installs, optional component installs, system configuration updating, your own screen layout and colour scheme, and many others. SAMPLE.SET provides a complete list of keywords for you to choose from and complete. The other sample files show different combinations of these settings. THE SETTINGS FILE The settings file is a plain ASCII file that can be created and updated with any editor in DOS or Windows. The default settings file has the same name as the installation program itself with an extension of ".SET". Therefore if the installation program is SETITUP.EXE then the settings file must be called SETITUP.SET. A different settings file can be used by entering its name (as a parameter when running K-INSTALL. For example, INSTALL MYSET.TXT Will read the settings from "MYSET.TXT". If no file extension is entered then ".SET" is presumed. Do not enter a directory name, as the settings file must always be in the same directory as the installation program. Each option is defined in the settings file by a single keyword, often followed by one or more additional parameters. For example, to specify that the main program directory is to be added to the DOS Path in AUTOEXEC.BAT the line: PATH is added to the settings file. To specify the default directory in which to install the program a line like: DIR C:\GAMES\BLASTER or similar is added. Or to describe files or groups of files to install, include lines such as: INSTALL READ.ME, ., 4, 10 INSTALL MYPROG.*, , 4,260, First Install Disk INSTALL *.EX_, *.EXE, 3, 85, Second Install Disk INSTALL *.DLL, ~SYS, 2, 120, Second Install Disk, Update modified DLLs? INSTALL *.VB_, ~SYS\*.VBX, 4, 170, Third Install Disk, Update VBXs? Each of these and many more options are detailed below. Keywords may be in upper or lower case. Some keywords have a short and a long form, and either may be used interchangeably. Keywords that require additional parameters must be followed by a space before any parameters. Parameters may be in upper or lower case. Parameters are separated from each other by commas. Any number of spaces may also be added between parameters for readability. Parameters that themselves contain commas must be enclosed in double quotes. Numeric parameters may be entered in either decimal or hexadecimal format. A hexadecimal number is identified by a trailing "h" or "H", as in "c000h" or "FFh" or "10h". All numeric parameters must be integers. In most cases, keywords may be entered in any order in the settings file. Keywords that allow multiple entries, such as INSTALL, DEL, MKDIR, AUTO, CONF, REG etc will be processed in the order in which they appear in the file. The only keywords that are sequence dependent are IFILE and ISECT which must come before their corresponding INI records, Blank lines and REMarks lines may be inserted anywhere into the settings file for readability. DICTIONARY OF SETTINGS The following list describes all available settings. Parameters in square brackets [ ] are optional. REM Allows additional remarks to be inserted into the settings file without altering the operation of the INSTALL program. Useage: REM [text] where text is any explanatory notes or additional information for anyone editing the settings file. Example: REM This file last modified by Rob McDonell 1.2.95 TITLE Defines a descriptive name for the program to be installed, which is used throughout K-INSTALL as a title for the program. Useage: TITLE text where text is any text including spaces. Example: TITLE Super Space Blasters II Default: The general term "Program" is used. MSG Specifies a fixed message to be displayed on the K-INSTALL screen. The text can contain colour control characters to change foreground and background colours anywhere in the message. See the PICTURE keyword below for an explanation of colour control characters. Useage: MSG [text] where text is the message to be displayed. Example: MSG Another quality product from Blasterware Default: No message is displayed. CATALOG Specifies the file name and extension of a product catalogue program that can be run from K-INSTALL. Useage: CATALOG [fileext[,parameters]] where fileext is the name of the catalogue program, or blank to turn the option off. No directory should be specified as K-INSTALL will search the installation disk, the main program directory, and the user's Path to find the file. parameters is any additional parameters for the program. Examples: CATALOG CATALOG.EXE CATALOG BROWSE.COM, PROGRAMS.TXT Default: No catalogue program defined, option not enabled. DOSVER Defines the minimum DOS vewrsion required by the program being installed. If the user's DOS version is not greater than or equal to this value then installation is terminated. Useage: DOSVER [major[.minor]] where major is the major part of the version number, ie "6". where minor is the minor part of the version number, ie "22". Ensure that minor numbers are specified to two digits, so version 6.2 must be written as 6.20. Examples: DOSVER 3.10 DOSVER 4 Default: No DOS version defined, no checking done. DIR Defines the default directory in which the program is to be installed. Useage: DIR [dirname] where dirname is the full drive and directory name, or blank to install to the current directory. Examples: DIR C:\GAMES\BLASTER DIR D:\ACCOUNTS Default: No directory defined, program would be installed to the current directory. RUN Specifies the file name and parameters to run the main program being installed. This allows K-INSTALL to give instructions on how to run the program, and also allows the user to run it directly from the installation program. This option can be left blank if the program is a collection of utilities or text files. Useage: RUN [fileext[,parameters]] where fileext is the file name and extension of the program to be run. No directory should be specified as K-INSTALL will search the installation disk, the main program directory, and the user's Path to find the file. parameters is any additional parameters for the program. Examples: RUN CLOCK.COM RUN BLAST.EXE, /VGA /NOSOUND Default: No name defined, program cannot be run from K-INSTALL. BIG Specifies that the main program being installed requires all of available memory to run, and that K-INSTALL should terminate and unload itself before attempting to run the program. Useage: BIG Notes: The use of this command forces K-INSTALL to terminate when the user requests to run the main program, but first loads the program name (minus extension) and parameters into the keyboard buffer. One disadvantage of this method is that it probably won't work if K-INSTALL is itself run from a shell or from Windows. Another disadvantage is that there is limited space in the keyboard buffer (usually 16 characters) to store keystrokes, so lengthy parameters cannot be specified as they will not fit into the buffer. If the program has lengthy parameters then put the program name and its parameters in a batch file and run that instead from K-INSTALL. One other important difference to remember is that when BIG is not specified, control returns to K-INSTALL when the program terminates. However when BIG is specified then control returns to the DOS command line or wherever K-INSTALL was run from. This command is redundant if the RUN keyword is not used (ie the user is not able to run the program from within K-INSTALL anyway), or if the WIN keyword is used (because K-INSTALL always unloads itself to run Windows). Default: K-INSTALL will stay resident while running the program. WIN Specifies that a Windows program is being installed. This tailors the instructions for running the program given to the user at the end of the installation program, and allows the main program to be run from K-INSTALL by loading Windows first. Useage: WIN Notes: The use of this command forces K-INSTALL to terminate when the user requests to run the main program, but first loads the "win" command plus program name (minus extension) and parameters into the keyboard buffer. One disadvantage of this method is that it probably won't work if K-INSTALL is itself run from a shell or from Windows. Another disadvantage is that there is limited space in the keyboard buffer (usually 16 characters) to store keystrokes, so lengthy parameters cannot be specified as they will not fit into the buffer. If the program has lengthy parameters then put the program name and its parameters in a batch file and run that instead from K-INSTALL. When WIN is specified then, when the program terminates, control returns to the DOS command line or from wherever K-INSTALL was run. Default: DOS program presumed, Windows not enabled. DOC Specifies the name of a README or other information file or document to which the user's attention should be drawn at the termination of K-INSTALL. Useage: DOC [fileext] where fileext is the file name and extension of the documentation file. No directory should be specified, as this file name is used for reference only. Example: DOC BLAST.TXT DOC README.NOW Default: No documentation file defined, option not enabled. INSTALL Specifies a file or group of files to be copied and/or unpacked. It includes information about how and where to copy the files, the space required, the prompt for inserting a new disk if required, and a prompt to ask the user whether to install the files at all. Up to 40 INSTALL records may be specified. Useage: INSTALL filespec[,dest[,repl[,size[,disk[,prompt]]]]] where filespec is the name and extension of the file(s) to be installed. Wildcards are allowed. dest is the directory to install the files to and/or new name for the files being copied. The directory is specified relative to the main directory entered by the user: . is the main directory (same as blank) .. is the parent directory of that drive \ is the root directory of that drive ABC is a subdirectory of the main directory Five special directory identifiers marked with a tilde "~" can be used for specific directories (these identifiers must be in upper case): ~MAIN is the main directory (same as "." or blank) ~DOS is the Dos directory ~WIN is the Windows directory ~SYS is the Windows System directory ~BOOT is the root directory of the boot drive A new filespec can be added to the dest parameter to rename the files as they are copied. If there is no filespec, or there are wilcards ("*" or "?") for both the name and extension, then the file retains its original name. If there is a wildcard name and specific extension then just the extension is changed. If there is a wildcard extension and specific name then just the name is changed. If the file being copied is an archive to be automatically unpacked, then the new filespec is ignored and the file names are obtained from within the archive. repl is the method of deciding whether to replace existing files with the same name in the destination directory: 0 don't replace anything, copy only new files 1 replace older files on user confirmation 2 replace older files 3 replace all files on user confirmation 4 replace all files size is the space in KB required to install the files. disk is the name by which to ask the user to insert another disk if no files matching the filespec are found on the current disk. This enables single or multi disk installs using the same settings file - the additional disks are only requested if necessary. prompt is the question to ask the user as to whether to install the files represented by this INSTALL record. If this is not blank then the INSTALL record is taken as a conditional install, that is, the user is asked whether they want to install them or not. The question should be asked in such a way that a positive response indicates that the files should be installed. This allows the user to choose how much of the function of the total package they wish to install. If consecutive INSTALL records contain the same question then the user is asked only once. Examples: INSTALL BLAST.EXE, ., 2, 125, Install Disk 1 INSTALL BLAST.OV_, *.OVL, 2, 220, Install Disk 1 INSTALL SAMPLE.*, ., 2, 140, Install Disk 2 INSTALL *.HLP, ., 1, 130, ,Do you want to install the Help files? INSTALL SAMPLES.ZIP, SAMPLES, 2, 90, Disk 2, Install sample files? INSTALL *.DLL, ~SYS, 1, 430, Third Install Disk, Update DLLs? INSTALL *.DL_, ~SYS\*.DLL, 1, 280, Fourth Install Disk, Update DLLs? INSTALL *.EX_, ~MAIN\*.EXE, 1, 90, Setup Disk INSTALL *.DL_, ~SYS\*.DLL, 1, 90, Setup Disk Default: prompt defaults to blank (files are installed without asking the user), disk defaults to blank (presuming a single disk install), size defaults to 0 (space on target disk will not be checked), repl defaults to 0 (copies only if files do not exist), dest defaults to blank (the main program directory entered by the user, file is not renamed). If no INSTALL records at all are entered then K-INSTALL defaults to a simple all- on-one-disk installation, ie filespec is "*.*", dest is blank, repl is 0, size is 0, disk and prompt are blank. FIRST Specifies a program or command to be executed at the beginning of the installation. This can be used to perform a DOS command or run some other specilised program to perform additional processing. Useage: FIRST [command[,parameters]] where command is the program or command to be executed. parameters is any additional parameters for the program. Examples: FIRST DOFIRST.COM FIRST MKDIR, C:\TEMP Default: No additional processing is performed before installation. LAST Specifies a program or command to be executed at the end of the installation. This can be used to perform a DOS command or run some other specilised program to perform additional processing. Useage: LAST [command[,parameters]] where command is the program or command to be executed. parameters is any additional parameters for the program. Examples: LAST DOLAST.EXE LAST ARJ.EXE, SAMPLES LAST PRINT, READYREF.TXT Default: No additional processing is performed after installation. UNPAK Defines the identifier that indicates that an archive file is to be automatically unpacked by K-INSTALL. Useage: UNPAK string where string is between 1 and 8 valid filename characters. Example: UNPAK && Default: A single underline indicates an archive to be unpacked, so files such as _ABC.ZIP or MY_FILE.LHA or ARCHIVE_.EXE will be unpacked automatically by K-INSTALL into the directory defined in the relevent INSTALL record. LHA Sets the options used by LHA.EXE when automatically unpacking .LZH files. Useage: LHA [parms] where parms is all the options required by the unarchiving program. Example: LHA e /m1 Default: The options "e /ma1" are used. ZIP Sets the options used by PKUNZIP.EXE when automatically unpacking .ZIP files. Useage: ZIP [parms] where parms is all the options required by the unarchiving program. Example: ZIP -o Default: The options "-o -Jhrs" are used. ARJ Sets the options used by ARJ.EXE when automatically unpacking .ARJ files. Useage: ARJ [parms] where parms is all the options required by the unarchiving program. Example: ARJ e Default: The options "e -y" are used. ARCHIVE Defines an additional unarchiving program and associated file extension and optional parameters. Useage: ARCHIVE ext[,prog[,parms] where ext is the file extension of files to be unarchived. prog is the program name and extension of the unarchiving program. parms is all the options required by the unarchiving program. Example: ARCHIVE .ZIP, UNZIP.EXE, -o Default: No unarchiving program defined, function not enabled. DEL Specifies the name of a file to be deleted prior to the commencement of installation. This can be used to remove existing files, usually from an earlier version of the same program, which are incompatible with this new version. Wildcards are not permitted. Up to 5 DEL records may be specified. Useage: DEL filename where filename is the directory, file name and extension of the file to be deleted. The directory is specified relative to the main program directory entered by the user. This can be specified using the normal DOS directory symbols ".", "..", "\" etc, or a subdirectory name, or the special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT". See the INSTALL keyword for more details. Examples: DEL PREVIOUS.DOC DEL ~DOS\OLD.EXE DEL ~MAIN\UNWANTED.DAT Default: If the directory is blank then the file is deleted from the main program directory. If there is no DEL record then no files are deleted. MKDIR Specifies the name of a directory to be created following completion of installation. Up to 5 MKDIR records may be specified. Useage: MKDIR dirname where dirname is the directory to create, relative to the main program directory entered by the user. This can be specified using the normal DOS directory symbols ".", "..", "\" etc, or a subdirectory name, or the special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT". See the INSTALL keyword for more details. Examples: MKDIR PRIVATE MKDIR ~BOOT\TEMP Default: No directories are created except those to which files are copied. INPUT Specifies a variable that may either be a constant or a user entered item. The value of this variable may then be inserted into the system configuration files, INI files or registration data file using "~0" for the first value, "~1" for the second value etc. Up to 10 INPUT records may be specified, giving variables from "~0" to "~9". Useage: INPUT [size[,data[,prompt]]] where size is the maximum length of the variable. data is the literal data (if prompt is blank) or the format of the data to be entered (if prompt is not blank). If the prompt parameter is not blank, then this parameter is a mask to validate the format of the data entered by the user. It may contain any combination of literal characters and wildcards. Wildcards work in a similar way to those in DOS, but with additional capabilities. There are four wildcard characters: @ is for any one alphabetic character # is for any one numeric character ? is for any one character * is for any number of characters Use a single asterisk "*" to indicate that anything can be entered, including a blank line. Use a combination "?*" to indicate that at least one character must be entered (ie, anything except a blank). Use other wildcard combinations to restrict the valid input even further, such as "?* ?*" to indicate that the input must be at least two words, or "@@?" to indicate that the input must be three characters long, the first two of which must be alphabetic, or "#A" to indicate that the input must be a number followed by the letter "A". This facility is very useful to ensure that the user is properly registered and knows how to enter the right information in the right place. prompt is the name of the data item that the user is asked to enter. If this is blank then the value entered in the data parameter is used literally as a constant. If it is not blank then it is used as the prompt to ask the user to enter certain information. Examples: INPUT 6, @@######, Serial Number INPUT 30, ?* ?*, First and Last name INPUT 60, *, Address INPUT 8, ##/##/##, Date Note: Ensure that the size and mask are compatible. Specifying a length of 2 and a mask of "???" will block the user from ever entering a valid value for the variable. Default: prompt defaults to blank (no user input requested), data defaults to blank (no value assigned), and size defaults to 0 (no specific size) if not entered. RFILE Specifies the location, name and format of a registration data file. The information in this file can be constructed from any combination of predefined and user entered data such as name, address, program serial number etc. The user data is controlled through INPUT keywords. Useage: RFILE [filename[,format]] where filename is the full directory, name and extension of the registration data file. The directory is specified relative to the main program directory entered by the user. This can be specified using the normal DOS directory symbols ".", "..", "\" etc, or a subdirectory name, or the special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT". See the INSTALL keyword for more details. The directory must exist, or be created through an INSTALL or MKDIR keyword. format is the way in which the data is written to the file: C is C language format, ie null terminated string P is Pascal format, ie length byte followed by string T is plain Text format such as created by any editor In Text format all information is written sequentially to a normal text file, and completely replaces any existing file with the same name. In C or Pascal format information can be placed precisely in an existing file, or a new file created. If more that one character is entered for format just the the first character is examined to determine whether it is C or P. Examples: RFILE BLASTER.DAT, P RFILE ~WIN\MYPROG.INI RFILE \STARTUP.BAT, TEXT Default: If filename is blank, or there is no RFILE record, then no registration data file is defined, option not enabled. If the format is blank or anything starting with other than "C" or "P" then text format is presumed. If there is no directory specified then the main program directory is presumed. REG Specifies text to be written to a registration data file. Up to 20 REG records may be specified. The data may include any variables or special directory identifiers. Useage: REG [position[,size[,text]]] where position is the incremental position in the file where the data is to be written in a C or Pascal format file, that is, the number of bytes to skip over from the end of the previously written text. This is ignored in a Text format file. size is the length of the data required. In a Text format file the information is truncated to this length, in a C or Pascal format file it is truncated or padded out as necessary to exactly this length. text is the data to be written to the file. This may include any of the defined variables "~0" to "~9" and special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT" which are translated to their actual values as the file is written. Examples: REG 0, 0, Colour=7 4 6 REG 0, 0, Serial=~0 REG 0, 0, UserName=~1 REG 37, 16, UnlockCode872915 REG 58, 8, ~3 Default: text defaults to blank, and position and size default to 0 if not entered. If no REG records at all are entered then K-INSTALL does not create a registration data file. BAK Specifies the file extension to be used when backing up AUTOEXEC.BAT and CONFIG.SYS prior to alteration. Useage: BAK ext where ext is the file extension to be used for backups. Ensure that it commences with a fullstop. Examples: BAK .BAK BAK .OLD Default: A file extension of ".ARK" is used for backup files. PATH Specifies that the main program directory is added to the PATH statement in AUTOEXEC.BAT. The file is updated if the directory does not already exist in AUTOEXEC.BAT. Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Useage: PATH Default: The PATH is not altered. AUTO Specifies a line that is to be added to AUTOEXEC.BAT. The line is added after all other lines in AUTOEXEC.BAT except for a final DOSSHELL or WIN or other shell command (see SHELL keyword below). Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Useage: AUTO [text] where text is the line to be added to the file. This may include any of the defined variables "~0" to "~9" and special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT" which are translated to their actual values as the file is written. Examples: AUTO REM Run VET Anti-Virus program AUTO ~MAIN\VET /# AUTO SET VETDIR=~MAIN Default: No lines are added to AUTOEXEC.BAT. SHELL Specifies a line that is to be added to the end of AUTOEXEC.BAT. Existing calls to DOSSHELL or WIN are replaced. The PATH statement and any lines defined by AUTO keywords are inserted before this line if necessary. Confirmation is always obtained from the user before modifying AUTOEXEC.BAT, and the file is backed up before alteration. Useage: SHELL [text] where text is the line to be added to the file. This may include any of the defined variables "~0" to "~9" and special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT" which are translated to their actual values as the file is written. Examples: SHELL KMENU /td/vd Default: No lines are added to the end of AUTOEXEC.BAT. FILES Specifies a minimum value for the FILES setting in CONFIG.SYS. The file is updated if the FILES value is less than that specified. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Useage: FILES [number] where number is the minimum value for FILES that is required. Example: FILES 20 Default: The FILES value is not altered. BUFFERS Specifies a minimum value for the BUFFERS setting in CONFIG.SYS. The file is updated if the BUFFERS value is less than that specified. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Useage: BUFFERS [number] where number is the minimum value for BUFFERS that is required. Example: BUFFERS 20 Default: The BUFFERS value is not altered. CONF Specifies a line that is to be added to CONFIG.SYS. The line is added at the end of the file. The FILES and/or BUFFERS statements are inserted before this line if necessary. Confirmation is always obtained from the user before modifying CONFIG.SYS, and the file is backed up before alteration. Useage: CONF [text] where text is the line to be added to the file. This may include any of the defined variables "~0" to "~9" and special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT" which are translated to their actual values as the file is written. Example: CONF DEVICE=~DOS\MSCDEX.SYS CONF DEVICE=~MAIN\TDRIVER.SYS /F:200 /D /L:~BOOT Default: No lines are added to CONFIG.SYS. COLS Specifies the colours used throughout K-INSTALL. Useage: COLS [titl[,msg[,pic[,btn[,menu[,stat[,ask[,norm]]]]]]]] where titl is the absolute colour for the title line. msg is the absolute colour for the message line. pic is the absolute colour for the picture to start with. btn is the absolute colour for the push buttons. menu is the absolute colour for the main menu. stat is the absolute colour for the status bar. ask is the absolute colour for the questions. norm is the absolute colour for other program responses. Absolute colour codes specify a complete foreground and background colour combination, and are defined in a single byte, giving a decimal number from 0 to 255, or a hexadecimal number from 00h to FFh. The foreground colour is defined in the lowest 3 bits, the intensity in the next bit, the background colour in the next 3 bits, and blinking in the highest bit. There are eight basic colours for both background and foreground, but the foreground colours can also be selected in high or low intensity, effectively giving 16 foreground colours. Value Low Intensity High Intensity 0 Black Dark Grey 1 Blue Light Blue 2 Green Light Green 3 Cyan Light Cyan 4 Red Light Red 5 Magenta Light Magenta 6 Brown Yellow 7 Light Gray White To derive the colour code for a specific absolute colour: take the basic colour number for the foreground, add 8 if you want high intensity, add the basic number for the background colour multiplied by 16, and add a further 128 if you want blinking. Examples: COLS 7, 7, 7, 7, 7, 7, 7, 7 COLS 79 Default: all colours default to reasonable values if not entered, and remain unchanged if the colour is set to zero. Defaults are: title line White on Blue message line Light Green on Green picture White on Black push buttons Dark Grey on Light Grey main menu Yellow on Green status bar Yellow on Blue questions Red on Black other responses Cyan on Black PICTURE Defines the picture that is displayed to the top right of the K-INSTALL screen. This picture has a fixed height of 10 lines and a default width of 21 characters. This MUST be the last keyword used in the settings file, because once this keyword is encountered all of the rest of the file is read in to define the picture. Useage: PICTURE [width] [string [string [string...]]] where width is the number of characters width of the picture. string is ASCII characters and colour control characters which make up each line of the picture on the screen. Any ASCII characters greater than or equal to 8 may be used to create the picture. ASCII characters from 1 to 7 are used to alter the colours in the picture, as follows: #1 set colour to the code of the following character #2 toggle between high and low intensity (xor 8) #3 shift the foreground down one colour (subtract 1) #4 shift the foreground up one colour (add 1) #5 shift the background down one colour (subtract 16) #6 shift the background up one colour (add 16) #7 toggle between blinking and non blinking (xor 128) The #1 character must be followed by another character which specifies the colour to switch to, the ASCII value of which is the absolute colour code required. See the COLS keyword above for an explanation of how to calculate absolute colour codes. Example: PICTURE 19 ллллллллллллллллл лллллллллллллллллББ ллллБББББББББББББББ ллллББ SUPERLATIVE ллллллллллллллллл лллллллллллллллллББ БББББББББББллллББ SOFTWARE ллллББ лллллллллллллллллББ лллллллллллллллллББ Notes: Ensure that each line fills up the full width of the picture, putting blanks at the end of lines as necessary. Remember that you can set an absolute colour with an ASCII character #1 followed by an ASCII character specifying the complete colour combination required, or you can set the colours relative to the last colour with the ASCII characters #2 to #7. The pic parameter of the COLS keyword sets the starting colour of the picture. Alternatively you can simply start the picture with an ASCII #1 character and then an absolute colour character. A very few colour combinations give absolute colour characters that may be interpreted as something else. For example to set colours to Light Magenta on a Black background you may want to use character codes #1 then #13. However the #13 will be read as a carriage return. In this case it is necessary to give a slightly different control code sequence to achieve the same result, such as #1 then #14 to get Yellow on Black, and then #3 to shift the foreground colour down one to Light Magenta. Do not use absolute colour character #0 (Black on Black). Default: If the width is blank or less than 0 then it defaults to 21, or if it is 0 then no picture is displayed. If no PICTURE keyword is entered at all then a simple Southern Cross is displayed. LOG Specifies the name of an installation log file used to record all files that have been copied and directories created by K-INSTALL. This allows the program to be uninstalled by deleting all these files and directories again, regardless of where they have been copied or created. The log file is always created in the main program directory. Useage: LOG [fileext] where fileext is the file name and extension of the log file, or blank to turn the option off. No directory should be specified as the log file is always created in the main program directory. Examples: LOG INSTALL.LOG LOG Default: Option enabled with log file name "UNINSTAL.LOG". Note: For the uninstall process to work, the INSTALL program itself must be copied to the main program directory where the log file is also created. The associated settings file must also be copied if it changes the name of the log file. This can be done with a simple INSTALL record such as: INSTALL INSTALL.* *, ., 2, 18, REMOVE Specifies the name of a file to be deleted during uninstallation. This can be used to remove files that are created by the main program, such as configuration files, private INI files, temporary files etc. Wildcards are not permitted. Up to 5 REMOVE records may be specified. Useage: REMOVE filename where filename is the directory, file name and extension of the file to be deleted. The directory is specified relative to the main program directory entered by the user. This can be specified using the normal DOS directory symbols ".", "..", "\" etc, or a subdirectory name, or the special directory identifiers "~MAIN", "~DOS", "~WIN", "~SYS", "~BOOT". See the INSTALL keyword for more details. Examples: REMOVE MYPROG.CFG REMOVE ~MAIN\SORT.TMP REMOVE ~WIN\MYPROG.INI Default: If the directory is blank then the file is deleted from the main program directory. If there is no REMOVE record then no files are deleted. ---+++---